package lanqiao.真题.第13届Java大学B组;

/**
 * @author 挚爱之夕
 * @version 1.0
 * @implSpec
 * 5分
 * 【问题描述】
 * 这天小明正在学数数。
 * 他突然发现有些正整数的形状像一座“山”，比如123565321、145541，它
 * 们左右对称（回文）且数位上的数字先单调不减，后单调不增。
 * 小明数了很久也没有数完，他想让你告诉他在区间2022,2022222022中有
 * 多少个数的形状像一座“山”。
 * 【答案提交】
 * 这是一道结果填空的题，你只需要算出结果后提交即可。本题的结果为一
 * 个整数，在提交答案时只填写这个整数，填写多余的内容将无法得分。
 * 思路：
 * 1.因为是填空题，暴力即可
 * 2.将数转成字符串
 * 3.双指针判断一个字符串是否满足情况
 * @since 2023 - 01 - 05 - 20:18
 */
public class B_山 {
}
class Main_B{
    public static void main(String[] args) {
        int res = 0;
        for(int i = 2022; i <= 2022222022; i++){
            if(check(String.valueOf(i))) res++;
        }
        System.out.println(res);
    }
    static boolean check(String num){
        int left = 0, right = num.length() - 1;
        while(left < right){
            //回文
            if(num.charAt(left) != num.charAt(right)) return false;
            //单调不减
            if(num.charAt(left + 1) < num.charAt(left)) return false;
            left++;
            right--;
        }
        return true;
    }
}